The present invention relates to computer numerical control systems and, more particularly, to control systems for industrial machines having a plurality of controllable axes of motion in which selected independent axes are motion coordinated.
Industrial machines include classes of machines having limited mobility such as, for example, lathes and milling machines, and classes of machines having broader mobility such as, for example, robots and material handling devices. Each machine typically has several defined axes of motion. A lathe, for example, may include a chuck for holding and causing rotation of a workpiece about a longitudinal axis of the lathe. A tool moveably mounted to the lathe bed may have one axis of motion parallel to the longitudinal axis of the lathe and a second axis of motion perpendicular to the longitudinal axis. Each axis of motion may be independent of any other axis or in some instances may be totally dependent such as in a thread cutting procedure during which the tool motion is coordinated with the rotation of the workpiece.
In numerous applications independent motions in one axis may periodically be required to coordinate with motion in another axis. For example, in a multiple arm robot one arm might pick up a bolt while another arm picks up a nut. Although those two actions are independent, if the robot then assembles the bolt and nut, the assembly process requires a coordination between the two arms, i.e., the two controlled axes of motion. In actual practice the two robot arms may have several axes of motion since the arm normally terminates in an end effector or clamping mechanism attached to the arm by a "wrist" which permits roll, yaw and pitch motions. Each of these motions require independent control actions for picking up an object but may also require coordinated actions during the process or for subsequent assembly procedures.
In computer numerical control (CNC) systems, axis motion is specified by a computer program. The program may specify independent motion in each controllable axis or may specify coordinated motion between two or more axes. So long as the axes for which coordinated motion is desired are defined by the machine system as being within a definable motion group, the coordinated motion can be achieved. For example, in those instances in which it is known that two or more motion axes are to be coordinated, such as in cutting a circle, systems are available which provide for coordinated motion of the two independent axes. However, such systems do not provide for switching between coordinated and independent control during a programmed machining process wherein various axes of motion may be grouped according to the desired machining motion.